using System;
using System.Collections;
using System.Collections.Generic;


namespace NanoERP.Model
{
	/// <summary>
    /// 单据审核循环设置
	/// </summary>
	[Serializable]
	public sealed class Flowinfo 
	{
		#region Private Members
		
		// Variabili di stato
		private bool _isChanged;

		// Primary Key(s) 
		private long _id; 
		
		// Properties 
		private int? _billtype; 
		private string _flowname; 
		private int? _phasecount; 
		private long? _createuserid; 
		private DateTime? _createdate; 
		private int? _isuse; 		

		#endregion
		
		#region Default ( Empty ) Class Constructor
		
		/// <summary>
		/// default constructor
		/// </summary>
		public Flowinfo()
		{
			_id = 0;  
			_billtype = null;
			_flowname = null;  
			_phasecount = 1; 
			_createuserid = null; 
			_createdate = DateTime.Now; 
			_isuse = 1;
		}
		
		#endregion // End of Default ( Empty ) Class Constructor
		
		#region Full Constructor
		
		/// <summary>
		/// full constructor
		/// </summary>
		public Flowinfo(long id, int? billtype, string flowname, int? phasecount, long? createuserid, DateTime? createdate, int? isuse)
		{
			_id = id; 
			_billtype = billtype; 
			_flowname = flowname; 
			_phasecount = phasecount; 
			_createuserid = createuserid; 
			_createdate = createdate; 
			_isuse = isuse; 
		}
		
		#endregion // End Full Constructor

		#region Public Properties
			
		/// <summary>
		/// 主键
		/// </summary>		
		public long Id
		{
			get { return _id; }
			set { _isChanged |= (_id != value); _id = value; }
		} 
	  
		/// <summary>
		/// 单据类型
		/// </summary>		
		public int? Billtype
		{
			get { return _billtype; }
			set { _isChanged |= (_billtype != value); _billtype = value; }
		} 
	  
		/// <summary>
		/// 流程名称
		/// </summary>		
		public string Flowname
		{
			get { return _flowname; }
			set	
			{
				if ( value != null )
					if( value.Length > 100)
						throw new ArgumentOutOfRangeException("Invalid value for Flowname", value, value.ToString());
				
				_isChanged |= (_flowname != value); _flowname = value;
			}
		} 
	  
		/// <summary>
		/// 次数
		/// </summary>		
		public int? Phasecount
		{
			get { return _phasecount; }
			set { _isChanged |= (_phasecount != value); _phasecount = value; }
		} 
	  
		/// <summary>
		/// 创建人  表：USERINFO
		/// </summary>		
		public long? Createuserid
		{
			get { return _createuserid; }
			set { _isChanged |= (_createuserid != value); _createuserid = value; }
		} 
	  
		/// <summary>
		/// 创建日期
		/// </summary>		
		public DateTime? Createdate
		{
			get { return _createdate; }
			set { _isChanged |= (_createdate != value); _createdate = value; }
		} 
	  
		/// <summary>
		/// 是否使用
		/// </summary>		
		public int? Isuse
		{
			get { return _isuse; }
			set { _isChanged |= (_isuse != value); _isuse = value; }
		} 
		
		#endregion 
		
		
	}
}